package top.zywork.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * GoodsInfoSkuPicVO值对象类<br/>
 *
 * 创建于2020-04-02<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class GoodsInfoSkuPicVO extends BaseVO {

    private static final long serialVersionUID = -9223372035149015117L;

    /*
	 * t_goods_info表的字段对应的属性
	 */
	/**
	 * 商品编号
	 */
	private Long goodsInfoId;
	/**
	 * 店铺编号
	 */
	@NotNull(message = "此项是必须项")
	private Long goodsInfoShopId;
	/**
	 * 类目编号
	 */
	@NotNull(message = "此项是必须项")
	private Long goodsInfoCategoryId;
	/**
	 * 商品标题
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 100, message = "必须是1-100个字符")
	private String goodsInfoTitle;
	/**
	 * 商品图片
	 */
	@Size(min = 0, max = 500, message = "必须小于500个字符")
	private String goodsInfoPicUrl;
	/**
	 * 商品品牌
	 */
	@Size(min = 0, max = 50, message = "必须小于50个字符")
	private String goodsInfoBrand;
	/**
	 * 图文详情
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 65535, message = "必须是1-65535个字符")
	private String goodsInfoIntro;
	/**
	 * 上架状态
	 */
	private Byte goodsInfoShelfStatus;
	/**
	 * 销量
	 */
	private Long goodsInfoSaleCount;
	/**
	 * 点击数
	 */
	private Long goodsInfoClickCount;
	/*
	 * t_goods_shop表的字段对应的属性
	 */
	/**
	 * 店铺Logo
	 */
	@Size(min = 0, max = 500, message = "必须小于500个字符")
	private String goodsShopLogo;
	/**
	 * 店铺标题
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 50, message = "必须是1-50个字符")
	private String goodsShopTitle;
	/**
	 * 店铺等级
	 */
	private Byte goodsShopLevel;
	/*
	 * t_goods_sku表的字段对应的属性
	 */
	/**
	 * SKU编号
	 */
	@NotNull(message = "此项是必须项")
	private Long goodsSkuId;
	/**
	 * SKU图片
	 */
	@Size(min = 0, max = 500, message = "必须小于500个字符")
	private String goodsSkuPicUrl;
	/**
	 * 售卖标题
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 100, message = "必须是1-100个字符")
	private String goodsSkuTitle;
	/**
	 * 原价
	 */
	private BigDecimal goodsSkuPrice;
	/**
	 * 销售价
	 */
	@NotNull(message = "此项是必须项")
	private BigDecimal goodsSkuSalePrice;
	/**
	 * 库存
	 */
	@NotNull(message = "此项是必须项")
	private Integer goodsSkuStockCount;
	/**
	 * 上架状态
	 */
	private Byte goodsSkuShelfStatus;
	/**
	 * 版本号
	 */
	private Integer goodsSkuVersion;
	/**
	 * 创建时间
	 */
	private Date goodsSkuCreateTime;
	/**
	 * 更新时间
	 */
	private Date goodsSkuUpdateTime;
	/**
	 * 是否激活
	 */
	private Byte goodsSkuIsActive;
	
}